// 从 vue 中按需导出 mapState 辅助方法
import {
	mapGetters
} from 'vuex'

export default {
	computed: {
		// 把 m_cart 中的 total 映射为当前页面的计算属性
		...mapGetters('m_cart', ['total']),
	},
	// 改造 mixins/tabbar-badge.js 中的代码，使用 watch 侦听器，监听 total 总数量的变化，从而动态为 tabBar 的徽标赋值：
	watch: {
		// 监听 total 值的变化
		total() {
			// 调用 methods 中的 setBadge 方法，重新为 tabBar 的数字徽章赋值
			this.setBadge()
		},
	},
	onShow() {
		this.setBadge()
	},

	methods: {
		setBadge() {
			// 调用 setTabBarBadge 方法，为购物车设置右上角的徽标
			uni.setTabBarBadge({
				// 购物图标是 2
				index: 2,
				// text 必须是字符串，不能是数字
				text: this.total + ''
			})
		}
	}
}
